/* 宝箱 */
#ifndef __BOX_H__
#define __BOX_H__

#include "VirObj.h"
#include "Player.h"
#include "Monster.h"
#include "Scene.h"

// 宝箱类
class Box : public VirObj
{
public:
    int BoxFlag = 0;
    // 宝箱构造
    Box(const Point &p);
    // 打开宝箱
    void OpenBox(Player &player);
    // 随机生成内容
    void RandomContent();

    // 获取宝箱信息
    std::string GetInfo() const
    {
        return GetSymbol()+ " "
                + std::to_string(GetLocation().Getx())+ " " 
                + std::to_string(GetLocation().Gety())+ " "
                + std::to_string(BoxFlag);
    } 
private:
    std::shared_ptr<Monster> monster; // 可能的怪兽
    int gold; // 随机生成的金币数量
    int diamond ; // 随机生成的钻石数量
};

#endif